#ifndef SHELL_H
#define SHELL_H

#include "api.h"
#include "string.h"

#define EXIT_SUCCESS 0
#define EXIT_FAILURE 1

#define MAX_CMD_LEN 81

/*
Every command is assigned a number. This file provides the matching between commandName, like 'start' and the code e.g 1

@KAI: The command names derive a little bit from you specification, because they were too long and unhandy to type. The following command names are a compromise between readability and brevity.
@KAI: The specification has a time command. I think we cannot implement that. PingPong says nothing that this is required.

*/

#define CMD_NOT_RECOGNIZED -1

#define CMD_EXIT_SHELL 0

#define CMD_START_PROC 1

#define CMD_CHANGE_PRIORITY 2

#define CMD_GET_INFO 3

#define CMD_TERMINATE 4

#define CMD_ECHO 5

#define CMD_ECHO_MALTA 6

#define CMD_HELP 7

//Won't do these until good justification

/*#define CMD_DELAY 8
char cmd_8[] = "delay";

#define CMD_BLOCK 9
char cmd_9[] = "procblock";*/

int shell();

#endif
